package com.wyh.mapper.appmapper;

import com.wyh.domain.vo.gruopfour.chargeVO.RefundVO;
import com.wyh.domain.vo.gruopfour.chargeVO.UnifiedChargeVO;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * @author : 是你
 * @since : 2024/5/21 下午4:16
 */
@Mapper
public interface ChargeMapper {
    
    List<Integer> getAllResourceIds(@Param("layerParentsids") List<Integer> layerids,@Param("type") Integer type,@Param("state") Integer state);


    /**
     * 条件查询下得到楼栋ids
     * @param userId
     * @param developmentName
     * @param buildingName
     * @return
     */
    List<Integer> getAllBuildingIds(
                                    @Param("userId") Integer userId,
                                    @Param("developmentName") String developmentName,
                                    @Param("buildingName") String buildingName
                                    );


    /**
     * 条件查询下得到资源信息
     * @param customerName
     * @param telephone
     * @param layerName
     * @param isArrears
     * @param isVirtual
     * @param ids
     * @return
     */
    List<UnifiedChargeVO> getResources(
                                @Param("customerName") String customerName,
                                @Param("telephone") String telephone,
                                @Param("layerName") String layerName,
                                @Param("isArrears") Integer isArrears,
                                @Param("isVirtual") Integer isVirtual,
                                @Param("ids") List<Integer> ids
                                );

    /**
     * 退款列表
     * @param ids
     * @param state
     * @return
     */
    List<RefundVO> getRefund(@Param("ids") List<Integer> ids, @Param("state") int state);


    /**
     * 通过资源id获取客户id
     * @param ids
     * @return
     */
    List<Integer> getCustomerIds(@Param("ids") List<Integer> ids);

    List<Integer> getAllLayerIds(int id);
}
